package com.dog.basics.service.sys;

import com.baomidou.mybatisplus.extension.service.IService;
import com.dog.basics.bean.dto.admin.sys.SysDeptAddDto;
import com.dog.basics.bean.dto.admin.sys.SysDeptEditDto;
import com.dog.basics.bean.model.sys.SysDept;
import com.dog.basics.bean.vo.admin.sys.SysDeptChildVo;

import java.util.List;


/**
 * <p>
 * 部门表 服务类
 * </p>
 *
 * @author guoy
 * @since 2020-03-19
 */
public interface ISysDeptService extends IService<SysDept> {

    /**
     * 根据角色ID，获取部门列表
     *
     * @param roleId 角色id
     * @return 角色所拥有的菜单id列表
     */
    List<Long> listDeptIdByRoleId(Long roleId);

    /**
     * 选择子部门
     *
     * @param parentId 上级id
     * @return 下级id
     */
    List<SysDeptChildVo> listChildrenDeptByParentId(Long parentId);

    /**
     * 保存部门
     *
     * @param sysDeptAddDto
     * @return
     * @author wph
     */
    Boolean saveSysDeptAddDto(SysDeptAddDto sysDeptAddDto);

    /**
     * 修改部门
     *
     * @param sysDeptEditDto
     * @return
     * @author wph
     */
    Boolean updateSysDeptEditDto(SysDeptEditDto sysDeptEditDto);

    /**
     * 删除菜单
     *
     * @param deptId
     */
    void deleteSysDept(Long deptId);
}
